//
//  ViewController.m
//  同步任务
//
//  Created by 伍银荣 on 2021/8/26.
//  Copyright © 2021 com.WYR. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

//同步任务的特点:队列调度多个异步任务前,指定一个同步任务,让所有的异步任务都等待同步任务完成,这就是所谓的"依赖"关系

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //需求:实现从App Store中获取验证密码-->下载--->扣费
    //分析:由于这三个步骤都需要从网络端获取数据,因此都需要执行异步任务,但是又需要让这三个步骤有序执行,所以需要在这三个请求的外部加一个异步任务,接着再让这三个请求同步执行,这样就能达到目的
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
        dispatch_sync(dispatch_get_global_queue(0, 0), ^{
            NSLog(@"获取验证码");
        });
        dispatch_sync(dispatch_get_global_queue(0, 0), ^{
            NSLog(@"下载");
        });
        dispatch_async(dispatch_get_global_queue(0, 0), ^{
            NSLog(@"扣费");
        });
    });
    
    
}


@end
